package cn.oms.outpatient.provider.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("prescription_record")
@ApiModel(value="PrescriptionRecord对象", description="")
public class PrescriptionRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID（新增生成）（UUID）")
    @TableField("ID")
    private String id;

    @ApiModelProperty(value = "处方号CODE（新增生成）（用于关联其他表）（MOE DO）")
    @TableField("PRESCRIPTION_CODE")
    private String prescriptionCode;

    @ApiModelProperty(value = "处方版本号（新增生成）")
    @TableField("PRESCRIPTION_SQL")
    private Integer prescriptionSql;

    @ApiModelProperty(value = "主处方CODE（用于重审继承之前的处方记录）")
    @TableField("MAIN_PRESCRIPTION_CODE")
    private String mainPrescriptionCode;

    @ApiModelProperty(value = "主处方版本号")
    @TableField("MAIN_PRESCRIPTION_SQL")
    private Integer mainPrescriptionSql;

    @ApiModelProperty(value = "处方开立类型（0 门诊 1出院带药）")
    @TableField("PRESCRIPTION_TYPE")
    private Integer prescriptionType;

    @ApiModelProperty(value = "患者ID （关联基本表患者ID）")
    @TableField("PATIENT_ID")
    private String patientId;

    @ApiModelProperty(value = "患者姓名（关联基本表患者名称）")
    @TableField("PATIENT_NAME")
    private String patientName;

    @ApiModelProperty(value = "患者入院号（关联患者入院表）")
    @TableField("ADMISSION_ID")
    private String admissionId;

    @ApiModelProperty(value = "患者病例号 （关联基本表病例号）")
    @TableField("EMR_CODE")
    private String emrCode;

    @ApiModelProperty(value = "处方开始时间")
    @TableField("PRESCRIPTION_START_TIME")
    private LocalDate prescriptionStartTime;

    @ApiModelProperty(value = "处方结束时间")
    @TableField("PRESCRIPTION_END_TIME")
    private LocalDate prescriptionEndTime;

    @ApiModelProperty(value = "处方提交人ID")
    @TableField("CREATE_MAN_ID")
    private String createManId;

    @ApiModelProperty(value = "处方提交人角色")
    @TableField("CREATE_MAN_ROLE")
    private String createManRole;

    @ApiModelProperty(value = "处方提交人名称（中文）")
    @TableField("CREATE_MAN_NAME_CN")
    private String createManNameCn;

    @ApiModelProperty(value = "处方提交人名称（英文）")
    @TableField("CREATE_MAN_NAME_EN")
    private String createManNameEn;

    @ApiModelProperty(value = "处方开立医生签名标记（0未签名 1签名）")
    @TableField("CREATE_MAN_SIGNATURE_FLAG")
    private Integer createManSignatureFlag;

    @ApiModelProperty(value = "处方开立医生签名地址")
    @TableField("CREATE_MAN_SIGNATURE_ADDRESS")
    private String createManSignatureAddress;

    @ApiModelProperty(value = "审核人ID")
    @TableField("VET_MAN_ID")
    private String vetManId;

    @ApiModelProperty(value = "审核人角色")
    @TableField("VET_MAN_ROLE")
    private String vetManRole;

    @ApiModelProperty(value = "审核人名称（中文）")
    @TableField("VET_MAN_NAME_CN")
    private String vetManNameCn;

    @ApiModelProperty(value = "审核人名称（英文）")
    @TableField("VET_MAN_NAME_EN")
    private String vetManNameEn;

    @ApiModelProperty(value = "审核药师签名标记（0未签名 1签名）")
    @TableField("VET_MAN_SIGNATURE_FLAG")
    private Integer vetManSignatureFlag;

    @ApiModelProperty(value = "审核药师签名地址")
    @TableField("VET_MAN_SIGNATURE_ADDRESS")
    private String vetManSignatureAddress;

    @ApiModelProperty(value = "审核标记（0审核完成 1审核中 2重审）")
    @TableField("VET_FLAG")
    private Integer vetFlag;

    @ApiModelProperty(value = "审方通过时间")
    @TableField("VET_TRANSIT_TIME")
    private LocalDate vetTransitTime;

    @ApiModelProperty(value = "放单状态（0 放单状态 1锁单状态）（医生、药师点击进来以后就会进行锁单操作）")
    @TableField("LOCK_FLAG")
    private Integer lockFlag;

    @ApiModelProperty(value = "审方通过锁单人ID")
    @TableField("VET_PASS_LOCK_MAN_ID")
    private String vetPassLockManId;

    @ApiModelProperty(value = "审方通过锁单人角色")
    @TableField("VET_PASS_LOCK_MAN_ROLE")
    private String vetPassLockManRole;

    @ApiModelProperty(value = "审方通过锁单人名称（中文）")
    @TableField("VET_PASS_LOCK_MAN_NAME_CN")
    private String vetPassLockManNameCn;

    @ApiModelProperty(value = "审方通过锁单人名称（英文）")
    @TableField("VET_PASS_LOCK_MAN_NAME_EN")
    private String vetPassLockManNameEn;

    @ApiModelProperty(value = "审方通过锁单人签名标记（0未签名 1签名）")
    @TableField("VET_PASS_LOCK_MAN_SIGNATURE_FLAG")
    private Integer vetPassLockManSignatureFlag;

    @ApiModelProperty(value = "审方通过锁单人签名地址")
    @TableField("VET_PASS_LOCK_MAN_SIGNATURE_ADDRESS")
    private String vetPassLockManSignatureAddress;

    @ApiModelProperty(value = "审方通过锁单时间")
    @TableField("VET_PASS_LOCK_TIME")
    private LocalDate vetPassLockTime;

    @ApiModelProperty(value = "处方执行人ID")
    @TableField("EXECUTOR_MAN_ID")
    private String executorManId;

    @ApiModelProperty(value = "处方执行人角色")
    @TableField("EXECUTOR_MAN_ROLE")
    private String executorManRole;

    @ApiModelProperty(value = "处方执行人名称（中文）")
    @TableField("EXECUTOR_MAN_NAME_CN")
    private String executorManNameCn;

    @ApiModelProperty(value = "处方执行人名称（英文）")
    @TableField("EXECUTOR_MAN_NAME_EN")
    private String executorManNameEn;

    @ApiModelProperty(value = "处方执行人签名标记（0未签名 1签名）")
    @TableField("EXECUTOR_MAN_SIGNATURE_FLAG")
    private Integer executorManSignatureFlag;

    @ApiModelProperty(value = "处方执行人签名地址")
    @TableField("EXECUTOR_MAN_SIGNATURE_ADDRESS")
    private String executorManSignatureAddress;

    @ApiModelProperty(value = "处方执行时间")
    @TableField("EXECUTOR_TIME")
    private LocalDate executorTime;

    @ApiModelProperty(value = "选择的发药药房CODE（对应药房表）")
    @TableField("SEND_ITEM_PHARMACY_CODE")
    private String sendItemPharmacyCode;

    @ApiModelProperty(value = "选择的发药药房名称（对应药房表）")
    @TableField("SEND_ITEM_PHARMACY_NAME")
    private String sendItemPharmacyName;

    @ApiModelProperty(value = "选择的发药药房位置（对应药房表）")
    @TableField("SEND_ITEM_PHARMACY_LOCATION")
    private String sendItemPharmacyLocation;

    @ApiModelProperty(value = "药房开关门状态（0关门 1开门）")
    @TableField("PHARMACY_TYPE")
    private Integer pharmacyType;

    @ApiModelProperty(value = "日间病人（0不是 1是）")
    @TableField("DAY_PATIENT_FLAG")
    private Integer dayPatientFlag;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
